Integrated circuit devices are typically subject to rigorous testing before they are sold or put to their intended use. In particular, each integrated circuit device is tested to determine whether or not certain specifications for that type of device, as determined and set by the manufacturer, are met.
Complete testing of an integrated circuit device may comprise both functional testing as well as application-specific testing. Functional testing generally tests whether or not the integrated circuit device performs particular functions properly and meets manufacturer's specifications. For example, if the integrated circuit device is or comprises a memory component such as a memory module or memory device, functional testing may test whether or not a digital value written to a cell of memory will later be retrieved without error, regardless of how the memory module or memory device is implemented.
Functional testing may also test whether or not certain critical operating characteristics of the integrated circuit device fall within an allowable range of values. These critical operating characteristics may include characteristics such as, for example, power consumption, standby current, leakage current, voltage levels and access time. The allowable range may equally be set by the manufacturer of the device or by corresponding appropriate standards.
While functional testing is generally oriented towards discovering whether or not an integrated circuit device under test is likely to fail during is intended use or application, it typically involves testing integrated circuit devices to verify how they execute a specific set of functions that are specially designed for this purpose.
One example of a known test system in which functional testing of integrated circuit devices is performed is described in U.S. Pat. No. 6,055,653 in the name of LeBlanc et al. Known test systems configured to perform functional testing typically comprise a test processor which generates test data and transmits the test data to both a reference integrated circuit device and one or more integrated circuit devices under test. The reference integrated circuit device and the integrated circuit devices under test each generate response data, in response to the test data. The response data generated by the reference integrated circuit device may be referred to as reference response data, whereas the response data generated by the integrated circuit devices under test may be referred to as test response data. The test response data for a given integrated circuit device under test is compared against the reference response data. If the data matches, then the given integrated circuit device may be considered to have produced valid data; otherwise, the given integrated circuit device may be considered to have undergone a failure of some kind.
Complete testing of an integrated circuit device may also involve application-specific testing. During application-specific testing, integrated circuit devices may be subject to a testing of their system behavior in order to detect their behavioral failures. Behavioral failure is a type of a failure that occurs when an integrated circuit device is operated within an actual application system. For example, a behavioral failure may be a failure that occurs as a result of a specific command or access sequence to a memory device or memory module that is performed in normal personal computer (PC) operations.
It is not necessarily the case that functional testing will detect behavioral failures. With functional testing, the operation of an integrated circuit device under test is not necessarily indicative of how the device will behave during its intended application. Accordingly, complete and comprehensive testing of an integrated circuit device may require application-specific testing in additional to functional testing.
One example of a known test system in which application-specific testing of integrated circuit devices is performed is described in U.S. patent application Ser. No. 09/678,397 in the name of Lai. Test systems configured to perform application-specific testing typically comprise an application system with an application processor and a reference integrated circuit device. The application processor runs an application task, and in operation, the processor sends commands to the reference integrated circuit device. In response to the commands, the reference integrated circuit device generates reference response data and sends it back to the processor. To facilitate testing of one or more integrated circuit devices under test, the communications lines between the processor and the reference integrated circuit device are tapped, so that a copy of the commands that were sent to the reference integrated circuit device is also sent to the integrated circuit devices under test, and so that a copy of the reference response data sent to the processor is also sent to a comparator. Each of the integrated circuit devices under test receives the same commands as the reference integrated circuit device, and generates test response data in response to the commands. The test response data generated by each integrated circuit device under test is sent to the comparator. The comparator then compares the reference response data with the test response data, and test results may be generated based on the comparisons. In particular, if the reference response data matches the test response data generated by a given integrated circuit device under test, then the integrated circuit device may be considered to have produced valid data; otherwise, the integrated circuit device may be considered to have undergone failure of some kind.